/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

/**
 *
 * @author alulab11
 */
//CAMBIOOOOOOO
import java.util.*;
import java.io.*;
import java.awt.Graphics;
import java.awt.Image;
import Vista.*;
import java.awt.MediaTracker;

public class Amigo implements Serializable {
    private String nombre;
    private boolean estadoContratado;
    private ArrayList <UnidadMilitar> lista = new ArrayList <UnidadMilitar> ();
    public Image imagen;
 /*   public Amigo(){
    }*/


     public void cargar(){
        MediaTracker mt = new MediaTracker( Grafico.applet ) ;
        if (nombre=="Carlos")
            imagen = Grafico.applet.getImage(Grafico.applet.getCodeBase(),"Imagenes\\carlos.png");
        
        else if(nombre=="Victor")
            imagen = Grafico.applet.getImage(Grafico.applet.getCodeBase(),"Imagenes\\victor.png");
        else if(nombre== "Steele")
            imagen = Grafico.applet.getImage(Grafico.applet.getCodeBase(),"Imagenes\\steele.png");
        else if(nombre== "JuanCarlos")
            imagen = Grafico.applet.getImage(Grafico.applet.getCodeBase(),"Imagenes\\juancarlos.png");

        mt.addImage(imagen,0);
        try {
            mt.waitForAll();
        } catch (InterruptedException e) {
             // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
    public Amigo(String nombre){
          this.nombre=nombre;
          

          estadoContratado=false;
          for(int j=0;j<6;j++){
            Random ar=new Random();
            int x=ar.nextInt(3);
            switch (x){
                case 0: lista.add(new Soldado() );break;
                case 1: lista.add(new Canhon() );break;
                case 2: lista.add(new Tanque() );break;
            }
          }
          for(int j=0;j<6;j++){
            Random ar=new Random();
            int x=ar.nextInt(3);
            switch (x){
                case 0: lista.add(new Canhonera() );break;
                case 1: lista.add(new PortaAviones() );break;
                case 2: lista.add(new Acorazado() );break;
            }
          }
          for(int j=0;j<6;j++){
            Random ar=new Random();
            int x=ar.nextInt(3);
            switch (x){
                case 0: lista.add(new Avion() );break;
                case 1: lista.add(new Helicoptero() );break;
                case 2: lista.add(new Bombardero() );break;
            }
          }
    }
   public void setEstadoContratado(){
       estadoContratado=true;
   }
   public boolean getEstadoContratado(){
       return estadoContratado;
   }
   public String getNombre(){
       return nombre;
   }
   public ArrayList <UnidadMilitar> getTeam(String escenario){
       ArrayList <UnidadMilitar> listaEnvio = new ArrayList <UnidadMilitar> ();
       if (escenario.equals("Tierra"))
            for(int i=0;i<5;i++) {
                lista.get(i).restaurarVida();
                listaEnvio.add(lista.get(i));
            }
       else if(escenario.equals("Mar"))
           for(int i=5;i<10;i++) {
               lista.get(i).restaurarVida();
               listaEnvio.add(lista.get(i));
           }
       else if(escenario.equals("Aire"))
           for(int i=10;i<15;i++){
               lista.get(i).restaurarVida();
               listaEnvio.add(lista.get(i));
           }

       return listaEnvio;
   }
}
